Neil's Guide to C++
An abandoned C++ book written by Neil C. Obremski in 2001-2002
Part 3: Glossary of Terms and Advanced Concepts
Preface
Draft Notes
Notes: Hardcopy Ideas
Notes: Multiple Dimension Arrays and Pointer Pointers
Notes: Part 1: Introduction to Computers and Programming
Notes: Chapter 2: Logic and Languages
Notes: Chapter 7: Functions
Notes: Ternary Operator
Notes: Chapter 6: The C++ Language
Part 1: Chapter 1: Computers and Programming
Part 1: Chapter 2: Storage and Numbering Systems
Part 1: Chapter 3: Digital Storage
Part 1: Part 1: Introduction to Computers
Part 2: Chapter 1: Preparation
Part 2: Chapter 2: First Steps
Part 2: Chapter 3: Variables
Part 2: Chapter 4: Flow Control
Part 2: Chapter 5: References and Pointers
Part 2: Chapter 6: Structures
Part 2: Chapter 7: Functions
Part 2: Chapter 8: Arrays
Part 2: Chapter 9: Strings
Part 2: Chapter 10: Pre-Processing
Part 2: Chapter 11: Classes
Part 2: Chapter 12: Files and IO
Introduction
It can be a frustrating journey to learn computer programming, not just with the C++ language. Web sites recommend you books; and books are written for the adept user and recommend you classes; and classes recommend you try things on your own to get the hang of things. It is a vicious circle that has rendered many people angry and disillusioned. Learning programming shouldn't be as difficult as it is. It is my goal to write a book that will take a fresh new user and teach them how to program in C++ with as little pain as possible. Thus I have started the project in October 2001 and intend to see it through until the end. You can monitor my progress as I upload new drafts.
Updates
Originally I planned to upload new drafts at the end of every week, on Friday or Saturday. Due to inconsistencies with that I will not promise such. However, I have usually uploaded new drafts at least once every two weeks, and I still strive for the end of every week as well. The draft date format is "year.month.day". If you wish to be notified by e-mail each time a draft is uploaded, please e-mail webmaster@neilstuff.com with the request. You will most likely not receive a confirmation unless you request one.
Feedback
Of course I'm very interested in getting feedback from those I am writing this book for. If you have a comment, please e-mail me at webmaster@neilstuff.com with the subject preferably set as "Book Feedback". I try to answer all e-mails of this nature within a day of reading them so you can be assured of a quick response.
Legalities
This book, Neil's Guide to C++, is currently a zip archive of folders and Word-formatted files. It is a work in progress project and as such any reader should take its content lightly as it is unfinished and possibly not wholly accurate. By downloading a draft you are acknowledging this fact and that myself, Neil C. Obremski, and NeilStuff.com are not liable for any damages incurred by this material.
All content contained therein is the property of myself, Neil C. Obremski, and is under protection by common law copyright. I hereby give all persons the right to redistribute any of the drafts available in any format so long as they are distributed in whole and not modified in any way. Persons distributing drafts must notify recipients of the correct author and make them aware of this web site and the legalities contain herein. This is to ensure credit where credit is due.
Publishing
I am looking to publish this book in an actual paper format, but I'm going for the self-publishing thing. I want absolute control of every bit of content on every page; as well as the price of the book itself. If you have a suggestion for a printer or publisher that provides self-publishing, please let me know.
Hardcopy Purchasing
The book is in development so its not yet available to buy, only to download for free. The eventual book will be available for free on this web site as well as in an actual, printed book form, the price of which has yet to be determined. The book will be available for purchase through this site and perhaps others. Obviously, the book will have some additional, appealing features that the free version will not contain:
- Price ... Buying the book will be cheaper than printing out all the pages from the free version yourself.
- Compact ... Fonts used in the book will be nicely sized, but not as large as on the free version; larger letters on the web are easier on the eyes, but annoying in printed books.
- Index ... The free version will be searchable via the site, but will not contain an index section.
- Bandwidth ... For those of you with limited bandwidth, it will save you that as well.
- Autograph ... Yeah yeah, I'll sign the dang books too.
- Nude Pictures ... Well, no there won't actually be any nude pictures in the book ... but don't you wish!!!
Draft Format
The rough draft is being written using MicrosoftTM Word 2002 of Office XP, so you'll need to have a program that can read Word files to view the draft. If you don't have Office or Word, WordPad should work just fine. If you're on a non-Windows platform or want to use something better than WordPad, you can try one of the following free programs. I am not affiliated with these products in any way and you will be using them at your own risk without any liability to myself or NeilStuff.com. Further legalities should be investigated in the product itself.
- AbiWord ... an open-source word processor that can open and save Word files.
- Catdoc ... converts Word files to ANSI text files
The finished product of the book will be available in hardcopy, HTML, PDF, and possibly RTF formats. I am simply using Word as a tool to shoot out the first draft.
Missing Items
A lot of diagrams, tables, and example programs are missing from the draft. Everywhere I mean to put something that is missing there is a line within pointy brackets that is bolded and italicized (< >) containing a summary of what will be there. The reasons vary why I skipped these things. Usually it's because they're time consuming and when I'm writing that's what I want to do. I enjoy putting in the graphics as well, but my primary focus is on readable content.
All of the non-text content will be done with a vector drawing program (preferably Adobe® Illustrator® because I've used it once and it was heavenly) and converted appropriately for the web. I pride myself on creating clean graphics with small file sizes, so the web version won't just be some badly converted crap-pot.